#ifndef PRINT_H
#define PRINT_H

#include <stdint.h>
#include <stdio.h>
#include <hilog/log.h>

#define LOG_ENGINE LOG_CORE
#define LOG_PUBLIC "{public}"
#undef LOG_TAG
#define LOG_TAG "huksdemo"
#undef LOG_DOMAIN
#define LOG_DOMAIN 0xD002F06 /* Security subsystem huks domain id */

#define LOGI(fmt, ...) HILOG_INFO(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)
#define LOGW(fmt, ...) HILOG_WARN(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)
#define LOGE(fmt, ...) HILOG_ERROR(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)
#define LOGD(fmt, ...) HILOG_DEBUG(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__)

#ifdef __cplusplus
extern "C" {
#endif
void PrintBuffer(const char *tag, const void *mem, uint32_t len);
#ifdef __cplusplus
}
#endif

#endif // PRINT_H